home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
F-French
/
(c)f1.d64
/
ile au tresor
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
6KB
|
189 lines
10 POKE53280,6:POKE53281,1
21 POKE 56,48:POKE52,48:CLR
25 PRINT"[147][129]**************ILE AU TRESOR[146]*************"
26 PRINT" REDEFINITION DES CHARACTERES"
28 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251
30 FOR I=0TO511:POKEI+12288,PEEK(53248+I):NEXT
32 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1
40 FORI=12288+35*8TO12288+47*8+7:READA:POKEI,A:NEXT
41 FORI=12288+58*8TO12288+61*8+7:READA:POKEI,A:NEXT
45 POKE53272,21:GOSUB800:SN=54272:POKESN+24,15:POKESN+5,17:POKESN+6,240
49 POKESN,100:GOSUB200
50 POKE53272,(PEEK(53272)AND240)OR12:RN=RN+1:P=1:Q=40
55 GOSUB510:GOSUB1000:GOSUB1300
60 CL=1902
65 JS=PEEK(56320)AND15
70 TL=CL:Z=CL:ONJS-4GOSUB94,92,93,99,96,98,97,99,95,91,99
75 CL=Z:POKESN+1,50:POKESN+4,33:GOSUB300
76 IFFLANDNOTDFTHENGOSUB650
77 POKESN+4,32:IFDFTHEN1600
79 POKETL,32:POKETL+Q,32
80 POKECL,46:POKECL+Q,47:POKECM+CL,3:POKECM+Q+CL,3:GOSUB540:IFGC<2ANDGB<2THEN50
85 GOSUB600:IFDFTHEN1600
90 GOTO65
91 Z=Z-Q:RETURN
92 Z=Z-39:RETURN
93 Z=Z+P:RETURN
94 Z=Z+41:RETURN
95 Z=Z+Q:RETURN
96 Z=Z+39:RETURN
97 Z=Z-P:RETURN
98 Z=Z-41:RETURN
99 RETURN
200 PRINT"[152]ENTRER LE NIVEAU D'HABILITE 1 A 5 "
210 GETA$:IFA$=""THEN210
220 AA=VAL(A$):IFAA<1ORAA>5THEN210
230 RETURN
300 REM VERIFICATION DE COLLISION
302 TC=0:IFPEEK(CL)=35ORPEEK(CL+Q)=35ORPEEK(CL)=36ORPEEK(CL+Q)=36THENTC=P
303 IFPEEK(CL)=37ORPEEK(CL+Q)=37ORPEEK(CL)=38ORPEEK(CL+Q)=38THENTC=P
304 IFPEEK(CL)=39ORPEEK(CL+Q)=39ORPEEK(CL)=40ORPEEK(CL+Q)=40THENTC=P
305 IFPEEK(CL)=41ORPEEK(CL+Q)=41THENTC=P
306 IFTCTHENCL=TL:RETURN
308 IF(PEEK(CL)=47ANDPEEK(CL+Q)=32)OR(PEEK(CL)=32ANDPEEK(CL+Q)=46)THENRETURN
309 IFPEEK(CL)=32ANDPEEK(CL+Q)=32THEN RETURN
310 IFPEEK(CL)=46ANDPEEK(CL+Q)=47THENRETURN
312 IFPEEK(CL)=42ORPEEK(CL+Q)=42THEN400
315 IFPEEK(CL)=61ORPEEK(CL+Q)=61THENGB=GB-P:SC=SC+10*AA:POKESN+1,30:POKESN+4,33
320 IFPEEK(CL)=60ORPEEK(CL+Q)=60THENGC=GC-P:SC=SC+AA:POKESN+1,80:POKESN+4,33
323 IFPEEK(CL)=43ORPEEK(CL+Q)=43ORPEEK(CL)=44ORPEEK(CL+Q)=44THEN450
325 IFPEEK(CL)=45ORPEEK(CL+Q)=45THEN650
330 RETURN
400 REM LES CRANES QUI TUENT
405 POKETL,32:POKETL+Q,32:POKECL,46:POKECL+Q,47:POKECL+CM,0:POKECL+CM+Q,0
410 GOTO700
450 REM AU MARAIS
452 D=INT(RND(1)*10)+1
453 JB=NOT(-(PEEK(56320)AND16)/16)
455 IFJBANDPEEK(CJ)=59ANDD>2THENCL=CH:POKECI,32:SC=SC+100*AA:FG=P:RETURN
460 IFJBANDPEEK(CJ)<>59ANDD>2THENCL=CL+47:GOTO300
465 CL=CH+41:POKETL,32:POKETL+Q,32:POKECL,46:POKECM+CL,3:GOTO700
500 REM FRONTIERE
510 PRINT"[147]":CM=54272
520 FORI=1024TO1063:POKEI,35:POKECM+I,14:NEXT
525 FORI=1103TO2023STEP40:POKEI,35:POKECM+I,14:NEXT
530 FORI=1982TO1943STEP-1:POKEI,35:POKECM+I,14:NEXT
535 FORI=1984TO1064STEP-40:POKEI,35:POKECM+I,14:NEXT
536 RETURN
539 REM POINTS+ TRES CHST
540 PRINT"[159] ESSAI"RN"POINTS"SC;:IFFGTHEN555
545 RD=INT(RND(1)*15)
550 ONRDGOSUB555,555,555,555,555,555,561,555,555,555,555,555,563,555,555
555 RETURN
561 IFPEEK(CI)=32ANDPEEK(CJ)=32THENPOKECI,58:POKECJ,59:POKECI+CM,6:POKECJ+CM,6
562 RETURN
563 IFPEEK(CI)=58THENPOKECI,32:POKECJ,32
564 RETURN
600 REM DEPLACEMENTS DES CRANES
605 D=INT(RND(1)*AA)+1:ONDGOSUB641,642,643,644,645
608 TS=SK:Z=SK:POKESK,32
610 ONINT(RND(1)*8)+1GOSUB91,92,93,94,95,96,97,98
615 SK=Z:IFPEEK(SK)=32THENONDGOSUB1381,1382,1383,1384,1385:GOTO625
620 IFPEEK(SK)=46ORPEEK(SK)=47THEN400
622 SK=TS
625 POKESK,42:POKESK+CM,7:RETURN
641 SK=S1:RETURN
642 SK=S2:RETURN
643 SK=S3:RETURN
644 SK=S4:RETURN
645 SK=S5:RETURN
650 REM LE CHASSEUR EST SAOUL
655 POKETL,32:POKETL+Q,32:POKECL,46:POKECL+Q,7:POKECL+CM,4:POKECL+CM+Q,4
660 POKESN+1,40:POKESN+4,33:FORI=1TO10:NEXT:POKESN+1,45:FORI=1TO25:NEXT
662 POKESN+4,32
665 TL=CL:Z=CL:ONINT(RND(1)*8)+1GOSUB91,92,93,94,95,96,97,98
670 CL=Z:IFFL=.THENFL=P:GOTO300
680 IFFL=PTHENFL=.:GOTO300
700 REM SONS DES MORTS
710 POKESN+1,40:POKESN+4,33:FORX=1TO5:POKESN+1,40:FORL=1TO50:NEXT:POKESN+1,20
715 FORL=1TO50:NEXT:NEXT:POKESN+4,32
720 DF=1:RETURN
800 PRINT"[147][151]TU EST A LA RECHERCHE D'UN TRESOR PERDU ";
810 PRINT"SUR UNE ILE DESERTE. ";
820 PRINT"DIRIGE LE CHASSEUR AVEC LE JOYSTICK #2 ";
825 PRINT"POUR RAMASSER LES PIECES D'ARGENT,LES ";
830 PRINT"LINGOTS D'OR ET LE COFFRE AU TRESOR. ";
831 PRINT"LE COFFRE AU TRESOR EST ENTOURE D'UN ";
833 PRINT"MARAIS. TU A 70% DE CHANCE DE TRAVERSER";
835 PRINT"LE MARAIS EN PRESSANT LE BOUTON FEU. ";
838 PRINT"[156]LE TRESOR EST SURVEILLE PAR LES FANTOMES";
839 PRINT"DES ANCIENS PIRATES QUI FONT APPARAITRE ";
840 PRINT"ET DISPARAITRE LE COFFRE AU TRESOR. ";
854 PRINT"LES FANTOMES ONT AUSSI PLACE DES BARILS ";
855 PRINT"DE RHUM AUTOUR DE L'ILE POUR DISTRAIRE ";
856 PRINT"LE CHASSEUR DE TRESOR. ";
857 PRINT"[154]SI LE CHASSEUR DE TRESOR BOIT DU RHUM IL";
858 PRINT"VA ETRE SAOUL ET TU NE POURRA PLUS LE ";
859 PRINT"GUIDER. ";
860 PRINT"TABLEAU DE POINTAGE: ";
865 PRINT"PIECES D'ARGENT = 1 X NIVEAU D'HABILITE";
866 PRINT"LINGOTS D'OR = 10 X NIVEAU D'HABILITE";
867 PRINT"COFFRE AU TRESOR=100 X NIVEAU D'HABILITE";
880 RETURN
999 REM CONSTRUIRE BOSQUETS DE PALMIERS
1000 TB=INT(RND(1)*8)+2:PRINT"":I=INT(RND(1)*3)+1:FORX=0TOI:PRINT"":NEXT
1005 PRINTTAB(TB)"&%'&%'"
1006 PRINTTAB(TB)"($&%')&%'"
1010 PRINTTAB(TB)"$($&%'$)"
1015 PRINTTAB(TB)"$($)$"
1020 PRINTTAB(TB)"$ $ $"
1023 PRINTTAB(TB)"$[144] ,+"
1025 PRINTTAB(TB)"$:; [144],"
1027 PRINTTAB(TB)",+"
1028 PRINTTAB(TB)"+,+,"
1030 CH=PEEK(209)+256*PEEK(210)-(160-(TB+7)):CJ=CH+Q:CI=CJ-P
1035 RETURN
1300 REM CONSTRUIRE L ECRAN
1301 FORI=PTO7*AA
1302 X=INT(RND(1)*720)+1064
1305 IFPEEK(X)<>32ORPEEK(X+P)<>32ORPEEK(X-P)<>32ORPEEK(X+Q)<>32THEN1302
1306 IFPEEK(X-Q)<>32THEN1302
1310 POKEX,45:POKECM+X,4:NEXT
1320 FORI=PTO6*AA
1325 X=INT(RND(1)*720)+1064
1330 IFPEEK(X)<>32ORPEEK(X+P)<>32ORPEEK(X-P)<>32ORPEEK(X+Q)<>32THEN1325
1331 IFPEEK(X-Q)<>32THEN1325
1335 POKEX,42:POKECM+X,0:NEXT
1360 FORI=PTOAA
1365 SK=INT(RND(1)*720)+1064:IFPEEK(SK)<>42THEN1365
1370 POKESK+CM,7
1375 ONIGOSUB1381,1382,1383,1384,1385
1380 NEXT:GOTO1400
1381 S1=SK:RETURN
1382 S2=SK:RETURN
1383 S3=SK:RETURN
1384 S4=SK:RETURN
1385 S5=SK:RETURN
1400 GC=25:B=60:FORI=1TO25
1410 GOSUB1450
1415 IFPEEK(X)<>32ORPEEK(X+Q)><32ORPEEK(X-Q)><32THEN1410
1420 POKEX,B:POKECM+X,7:NEXT
1430 GB=5:B=61:FORI=1TO5
1435 GOSUB1450
1437 IFPEEK(X)<>32ORPEEK(X+Q)><32ORPEEK(X-Q)><32THEN1435
1440 POKEX,B:POKECM+X,7:NEXT
1445 RETURN
1450 X=INT(RND(1)*755)+1064:RETURN
1600 REM FIN DE LA PARTIE
1605 POKESN+4,32:POKE53272,21
1610 PRINT"[147][158] UNE AUTRE VICTIME DE LA"
1615 PRINT"[158] MALEDICTION DES PIRATES"
1620 FOR K=1TO1500:NEXT
1635 PRINT" NIVEAU D'HABILITE:"AA
1640 PRINT" ESSAI :"RN
1645 PRINT" POINTS :"SX
1648 FOR K=1TO1500:NEXT
1650 PRINT"[159] NOUVELLE PARTIE?"
1655 GETA$:IFA$=""THEN1655
1660 IF A$="O"THENRN=0:FL=0:FG=0:DF=0:SC=0:PRINT"[147]":GOTO49
1665 PRINT"[147]":END
6060 DATA 255,255,255,255,255,255,255,255,28,28,28,28,28,28,28,28
6065 DATA129,227,247,255,255,255,255,156,15,127,127,227,143,63,113,243
6070 DATA248,254,254,227,249,252,207,227,199,159,62,56,120,96,96,64,121,120,28
6071 DATA14,6,6,7,
6075 DATA60,126,90,126,126,36,60,24,28,63,31,255,255,127,124,56
6080 DATA60,254,255,255,243,120,56,60,28,62,62,62,62,62,62,28
6085 DATA60,126,219,255,102,60,24,255,189,189,189,189,36,36,36,102
6087 DATA15,31,63,63,63,63,63,63,248,252,254,254,254,254,254,254
6090 DATA,,,24,24,,,,,,,127,127,,,0